import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
const store = new Vuex.Store({
  state: {
    //要设置的全局访问的state对象，要设置的初始属性值
    userInfo: {},
    speed_less: [], //培训模块，课程进度信息
  },
  getters: {
    //实时监听state值的变化（最新状态）
    getUserInfo(state) { //承载变化的userinfo值
      return state.userinfo
    },
    getSpeed(state) {
      return state.speed_less
      //console.log(state)
    }
  },
  //在mutations中定义两个函数，对应commit提交的方法
  mutations: {
    // add(state, num) { //方法传参
    //   state.count = state.userinfo++;
    // },
    getUserInfo(state, info) {
      state.userInfo = info
    },
    getSpeed(state, speed) {
      state.speed_lesson= speed
      //console.log(speed)
    }
  },
  //Action 提交的是 mutation，而不是直接变更状态。Action 可以包含任意异步操作。

  actions: {
    getInfo(context, info) { //num为要变化的形参
      context.commit('getUserInfo', info)
    },
    getSpeedLesson(context, speed) {
      context.commit('getSpeed', speed)
    }
    // getDel(context, num) { //num为要变化的形参
    //   context.commit('del', num)
    // }
  },

});
export default store
